Method and apparatus for offset control in a disk drive

ABSTRACT

According to one embodiment, a disk drive capable of performing a dynamic offset control (DOC) is provided. The disk drive has an offset module and an updating module. The offset module calculates an offset value that changes during a one-rotation period of a disk, from the offset-measuring position data recorded in the disk. The updating module updates the offset value to a new one if a disk shift has occurred.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2008-304835, filed Nov. 28, 2008, the entire contents of which are incorporated herein by reference.

BACKGROUND

1. Field

One embodiment of the present invention relates to a disk drive such as a hard disk drive. More particularly, the invention relates to a technique of controlling the offset between the read head and the write head, both incorporated in a disk drive.

2. Description of the Related Art

Most disk drives, a representative example of which is the hard disk drive, have a magnetic head that may record data in, and reproduce data from, a disk, i.e., magnetic recording medium. The magnetic head is mounted on a rotary-type actuator. The magnetic head can be moved in the radial direction of the disk and can be positioned at a target track (or cylinder) provided on the disk.

The magnetic head has a read head and a write head, which are mounted on one slider (head main body) and which are spaced apart from each other. The read head is, for example, a GMR element and is configured to read data recorded in the disk. The write head is configured to write data in the disk. Depending on the position the magnetic head assumes in the radial direction of the disk, a specific offset (positional deviation) develops between the track loci of the read head and the write head.

In order to position the magnetic head at a target position over the disk, offset control is performed on both the read head and the write head, thereby adjusting the positions of the read head and write head in accordance with the offset. The offset control is performed in accordance with an offset value that changes with the position the magnetic head takes in the radial direction of the disk. Note that the offset value is a value that remains unchanged as long as the magnetic head remains in the same track while the disk is rotating 360°.

In the disk drive, a phenomenon called “disk runout” may occur if the spindle motor is secured at a wrong position. Once a disk runout has occurred, the servo track deviates from the circular locus with respect to the rotation center of the disk. This results in a servo-track runout. Consequently, accurate offset control can no longer be performed on the magnetic head in the same track, because the offset value remains unchanged while the disk is rotating 360°.

To perform accurate offset control, a technique known as “dynamic offset control (DOC) has been proposed (see, for example, Jpn. Pat. Appln. KOKAI Publications Nos. 2005-216378 and 2007-172733, hereinafter referred to as “first and second publications,” respectively). The dynamic offset control is performed by changing the offset value in accordance with the disk runout value. The first publication discloses a method of offset control that uses first and second offset values. The first offset value changes with the position the head takes in the track in the radial direction of the disk. The second offset value is calculated, changing as the disk rotates 360°. On the other hand, the second publication discloses a method that uses the first offset value identical to that described above, and monitors the second offset value that changes as the disk rotates 360°, directly on the basis of the error rate of data.

With regard to the dynamic offset control (DOC), a technique of measuring the disk runout has been proposed (see, for example, Jpn. Pat. Appln KOKAI Publication No. 11-126444 and Japanese Patent No. 3198490, hereinafter referred to as “third and fourth publications,” respectively). More specifically, the third publication discloses a method in which the actuator holding a magnetic head is set at a specific position, the cylinder address information for one rotation of the disk from the servo sector, and the servo-track runout is measured from the cylinder address information. The fourth publication discloses a method of inferring a servo-track runout from a change in the time intervals of lock marks for one rotation of the disk.

As described above, the servo track that serves as the reference position for head positioning deviates, due to the disk runout, from the circular locus with respect to the rotation center of the disk (resulting in a servo-track runout). This means that the read head positioned at the servo track changes in the radial direction of the disk as the disk rotates 360°. Therefore, the offset between the read head and the write head must be changed as the disk rotates once.

The servo-track runout occurs mainly because of the disk runout that develops when a servo-track writer records servo data in the disk, thereby forming servo tracks on the disk. Further, another disk runout develops when the disk with the servo data recorded on it is incorporated into the disk drive. The two disk runouts combine, resulting in a larger disk runout.

Each of the above-identified publications proposes a method of changing the offset value as the disk rotates 360°. In this regard, a method is employed in which the offset value is indirectly calculated or inferred from the servo-track runout information and the sizes of the parts and mechanisms constituting the disk drive. However, the offset value calculated by this method is far from accurate. This method can hardly provide an accurate setoff value, particularly because the sizes of the parts and mechanisms greatly vary from one disk drive to another.

The third publication discloses a method of measuring directly the offset between the read and write heads, which changes as the disk rotates 360°, from a contour diagram being drawn while the both heads remain off the data track. However, this method takes a long time to measure the offset, and can hardly be put to practical use.

Moreover, when the disk drive receives an impact from outside, a disk shift occurs, inevitably changing the disk runout. It is therefore desirable to measure the offset value every time the magnetic head is loaded above the disk. Thus, the offset value must be measured frequently. Every time the offset value is measured, some time is spent. This ultimately impairs the data-access ability of the disk drive.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A general architecture that implements the various feature of the invention will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the invention and not to limit the scope of the invention.

FIG. 1 is a block diagram explaining the configuration of a disk drive according to an embodiment of the present invention;

FIGS. 2A to 2H are diagrams explaining the timing of writing and reading a servo pattern for measuring the offset in the embodiment;

FIG. 3 is a diagram explaining recording areas in which to record the servo patterns for measuring an offset in the embodiment;

FIG. 4 is another diagram explaining the recording areas in which to record the servo patterns for measuring the offset in the embodiment;

FIG. 5 is a diagram explaining a modified recording area in which to record the servo pattern for measuring the offset in the embodiment;

FIG. 6 is another diagram explaining the modified recording area in which to record the servo pattern for measuring the offset in the embodiment;

FIG. 7 is a diagram explaining an offset measured when no disk runouts develop in the embodiment;

FIG. 8 is a diagram explaining an offset measured when a disk runout develops in the embodiment;

FIG. 9 is a diagram explaining how to calculate an offset value in the embodiment;

FIG. 10 is a diagram explaining a first modification of the method of calculating an offset value in the embodiment;

FIG. 11 is a diagram explaining a second modification of the method of calculating an offset value in the embodiment; and

FIG. 12 is a flowchart explaining a method of updating the offset value in the second embodiment.

DETAILED DESCRIPTION

Various embodiments according to the invention will be described hereinafter with reference to the accompanying drawings. In general, according to one embodiment of the invention, there is provided a disk drive in which the offset value that changes during a one-rotation period of the disk is directly measured, thereby measuring an offset value at high precision within a short time and accomplishing a practical offset control that results in no degradation of the data-accessing ability.

(Configuration of the Disk Drive)

According to an embodiment, FIG. 1 shows a block diagram explaining the configuration of a disk drive 100.

As FIG. 1 shows, the disk drive 100 according to the embodiment has an apparatus mechanism and a control/signal-processing system. The apparatus mechanism includes a magnetic head 101, a disk 103, a spindle motor (SPM) 106, and an actuator. The disk 103 is a magnetic recording medium. The SPM 106 can rotate the disk 103. The actuator holds the magnetic head 101 and can move the magnetic head 101 over the disk 101 in the radial direction thereof. The control/signal-processing system will be described later.

The magnetic head 101 includes a read head and a write head, both mounted on a slider. The read head is configured to read (reproduce) data and servo data from the disk 103. The write head is configured to write (record) data and a servo pattern for measuring an offset (i.e., position data for measuring the offset). The read head and write head are mounted, spaced apart from each other, on one slider that is the main body of the head 101.

The actuator includes a suspension, an arm 102, a pivot 104, a coil, a magnet, a yoke, and a voice coil motor (VCM) 105. The suspension holds the magnetic head 101. The arm 102 can rotate around the pivot 104. The VCM 105 generates a force for rotating the arm 102. The actuator can move over the disk 103 in the radial direction of the disk 103 as a microprocessor (CPU) 112 (later described) performs head-positioning control (servo control). As the actuator moves, the magnetic head 101 is moved to a target position (target track) on the disk 103.

A plurality of servo areas 200 are provided on the disk 103. The servo areas 200 extend in the radial direction of the disk 103 and are spaced apart at regular intervals in the circumferential direction of the disk 103. Further, a number of concentric tracks (cylinders) 201 are provided on the disk 103. The tracks 201 are data tracks in which user data has been written by the write head. The tracks 201 are servo tracks, each including segments of servo areas 200.

In each servo area 200, an address code (cylinder code) and servo data are recorded. The address code identifies the track. The servo data contains servo-burst signals from which the position of the head 101 is detected. The CPU 112 uses the servo data read by the read head to perform the head-positioning control (servo control).

The control/signal-processing system has a motor driver 107, a head amplifier unit 108, a read/write channel 109, a hard disk controller (HDC) 111, a CPU 112, and a memory 113. The motor driver 107 has an SPM driver 107A and a VCM driver 107B. The SPM driver 107A supplies a drive current to the SPM 106. The VCM driver 107B supplies a drive current to the VCM 105.

The head amplifier unit 108 includes a read amplifier 108A and a write driver 108B. The read amplifier 108A amplifies a read signal SR read by the read head of the magnetic head 101 and outputs the read signal SR to the read/write channel 109. The write driver 108B receives write data WD from the read/write channel 109 and converts the same to a write signal (write current) WS. The write signal WS is supplied to the write head of the magnetic head 101. The write driver 108B converts the write data WD to a write signal WS at the timing of a write-gate signal DWG2 output from a data modulating/demodulating unit 114.

The read/write channel 109 is a signal-processing unit that processes read signals and write signals. The read/write channel 109 has a data-modulating/demodulating unit 114, a servo-pattern generating unit 115, and a servo demodulation unit 116. The servo-pattern generating unit 115 generates a servo pattern for measuring an offset.

The data-modulating/demodulating unit 114 receives the record data 125 transferred from the HDC 111 at the timing of a write-gate signal DWG1 output from the HDC 111 and modulates (encodes) the same, generating write data WD. The unit 114 demodulates (decodes) a read-data signal RD output from the read amplifier 108A and demodulates (decodes) the same, generating reproduced data 125. The reproduced data 125 is output to the HDC 111 at the timing of a read-gate timing signal (DRG) coming from the HDC 111.

The servo-pattern generating unit 115 generates servo-record data 122 at the timing of a servo-write gate signal 117 (SWG-1) output from the HDC 111. The servo-record data 122 contains a servo-gate signal 121 (SWG-2) and an offset-measuring servo pattern (offset-measuring position data). At this point, the unit 115 receives a sync signal 124 from the servo demodulation unit 116.

The servo demodulation unit 116 receives a servo-reproducing signal 123 output from the read amplifier 108A. The servo demodulation unit 116 demodulates (decodes) this signal 123, generating servo data 120 that contains an address code and servo-burst signals (A to D). The servo data 120 is output to the HDC 111. The servo demodulation unit 116 demodulates the servo-burst signals (burst patterns A and B) at the timing of servo-read gate signal 118 (SRG-A) and servo-read gate signal 119 (SRG-B) output from the HDC 111.

The HDC 111 constitutes an interface between the disk drive 100 and a host system (personal computer or digital apparatus) 110. The HDC 111 controls the transfer of the user data (read data and write data) between the disk drive 100 and the host system 110. The HDC 111 controls the read/write operation of the read/write channel 109, too.

The CPU 112 is the main controller of the disk driver, or the main component of the servo system of the servo system that performs the head-positioning control (servo control). The CPU 112 performs not only the seek operation and tracking (position control) during the head-positioning control, but also dynamic offset control (DOC) that characterizes the embodiment.

The memory 113 includes a flash memory, a ROM, and a RAM. The memory 113 stores various data items that the CPU 112 uses to perform control.

(Method of Calculating the Offset Value)

A method of calculating the offset value in this embodiment will be explained with reference to FIGS. 2A to 2H and FIGS. 3 to 11. FIGS. 2A to 2H are diagrams explaining the timing of writing, and the timing of reading, servo patterns 142 and 143 for measuring the offset (i.e., offset-measuring position data items).

First, the offset, which exists between the read head and write head of the magnetic head 101 if any disk runout (servo-track runout) has not developed, will be explained with reference to FIG. 7. In FIG. 7, reference number 400 denotes the direction in which the magnetic head 101 moves, and reference numeral 410 indicates the direction in which the disk 103 rotates.

In the disk drive 100, the CPU 112 controls the position of the magnetic head 112 as described above, in accordance with the servo data recorded in the servo areas 200 provided on the disk 103. In FIG. 7, only servo-burst signals A to D, i.e., accurate position data 141, for the sake of convenience. In fact, however, sync signals, servo address data (track address codes), and the like are recorded in the servo areas 200.

In the head-positioning control, the read head 30 is positioned at the centerline of the servo track so that the components of a reproduced signal, which correspond to the servo-burst signals A and B, may have the same amplitude. That is, the read head 30 is located over the servo track 4 that is identical to the locus of the gap center of the read head 30. Here, the centerline of the servo track is defined as servo track 4 or 7, for convenience.

As seen from FIG. 7, the radius R of the servo track 4, as measured from the rotation center of the disk, remains unchanged for a one-rotation period DT during which the disk rotates 360°. This means that a servo-track runout (disk runout) does not develop at all if the servo track 4 does not deviate from the circular locus with respect to the rotation center of the disk.

As shown in FIG. 7, the servo track 7, which is identical to the locus of the gap center of the write head 50, remains at a distance (i.e., read/write offset) 6 from the servo track 4 that is the positioning locus of the read head 30, for the one-rotation period DT during which the disk rotates once. Thus, if the radius that the servo track 4 has with respect to the read head 30 remains constant for the one-rotation period DT, the skew angle θ will remain constant, which is an angle defined by the servo track 4 and the line connecting the gap center of the read head 30 and that of the write head 50. Hence, the offset 6 can be calculated, using the following equation:

Offset 6=inter-gap distance G×sin θ=constant

FIG. 7 is based on the assumption that the magnetic head 101 is an in-line type and that the gap center of the read head 30 therefore lies on line 40 connecting the gap center of the write head 50 and the pivot 104 around which the actuator (arm) 102 holding the magnetic head 101 rotates. Therefore, when the write head 50 writes data, it forms a data track 204 in the servo track 7 provided in the track 201 (data area). To read the data, the read head 30 is adjusted in position by specific offset 6. So positioned over the servo track 7, the read head 30 starts reading data.

The offset will be further described, with reference to FIG. 8, in the case where a disk runout (servo-track runout) develops in the disk drive 100.

The read head 30 is positioned at the centerline of a servo track 24 so that the components of a reproduced signal, which correspond to the servo-burst signals A and B, may have the same amplitude. That is, the read head 30 is located over the servo track 24 that is the locus of the gap center of the read head 30 has a servo-track runout. That is, the radius of the servo track 24, which is the distance from the center of rotation of the disk to the servo track 24, changes during the one-rotation period DT (from R1 to R5).

Such a servo-track runout (disk runout) usually develops in disk drives. The servo data is recorded in the servo areas 200 provided on the disk 103 during the manufacture of the disk drive by a servo-track writer (STW) that is dedicated to servo-data writing. During the manufacture of the disk drive, it is difficult to align the center of the servo track with the rotation center of the disk 103, because the center of the disk 103 deviates from the rotation axis of the SPM 106.

As shown in FIG. 8, the radius of the servo track 24 changes (from R1 to R5) with respect to the read head 30 during the one-rotation period DT. The change in the radius changes the skew angle θ defined by the servo track 24 and the line connecting the gap center of the read head 30 and that of the write head 50, during the one-rotation period DT of the disk 1 (from θ1 to θ3). Hence, the offset 26 between the read head 30 and the write head 50 changes during the one-rotation period DT. The offset 26 is the distance from the servo track 24, i.e., locus of the gap center of the read head 30, to the gap center of the write head 50.

In this case, an error will develop with respect to a data-write locus 27 if the offset control (position control) is performed on the read head 30, moving the read head 30 from the servo track 24 to another servo track (indicated by the broken line) located at a specific distance (i.e., offset 6) from the servo track 24.

In the disk drive 100 according to the embodiment, servo patterns 142 and 143 for measuring the offset (i.e., offset-measuring position data items) are written in a specified region of the non-servo area 205 provided on the disk 193 in addition to the servo areas 200, as shown in FIGS. 2A to 2H and FIG. 9. The servo patterns 142 and 143 for measuring the offset may be reproduced, and the offset value that changes during the one-rotation period may be calculated from the servo patterns 142 and 143 reproduced.

The timing of writing and reading the servo patterns 142 and 143 for measuring the offset will be explained with reference to FIGS. 2A to 2H.

Note that the servo patterns 142 and 143 for measuring the offset are burst signals (e.g., signals M and N, for convenience) that are equivalent to the burst signals A to D that are accurate position data contained in ordinary servo data.

At the timing of the servo-read gate signal 118 (SRG-A) output from the HDC 111, the read/write channel 109 demodulates the servo data 120 read by the read head 30 from the servo area 200, as illustrated in FIG. 2B. As shown in FIG. 2A, the servo area 200 includes two regions, 140 and 141. In the region 140, sync signal 145 and servo-address data 146 (track-address code and sector-address code) are recorded. In the region 141, servo-burst signals A to D are recorded. As shown in FIG. 4C, the servo data 120 demodulated contains sync signal 145, servo-address data 146, and servo-burst signals A to D (147 to 149).

As shown in FIGS. 2D, 2E and 2F, the servo-pattern generating unit 115 generates servo-record data 122 at the timing of the servo-write gate signal 117 (SWG-1) output from the HDC 111. The servo-record data 122 contains a servo-gate signal 121 (SWG-2) and an offset-measuring servo pattern (offset-measuring position data).

The write driver 108B receives the servo-record data 122 output from the servo-pattern generating unit 115 and converts the same to a servo-data signal 151. The servo-data signal 151 is supplied to the write head 50. More precisely, the write driver 108B supplies the servo-data signal 151 to the write head 50 at the timing of the servo-gate signal 121 (SWG-2). Thus, as FIG. 2A shows, the servo patterns 142 and 143 for measuring the offset can be recorded outside the servo area 200, for example in a specified region of the non-servo area 205 that is adjacent to the servo area 200.

As shown in FIGS. 2G and 2H, the servo demodulation unit 116 demodulates the servo data 120 read by the read head 30, at the timing of the servo-read gate signal 119 (SRG-B) output from the HDC 111. The servo demodulation unit 116 therefore demodulates burst signals 152 and 153 that correspond to the servo patterns 142 and 143, respectively.

The servo patterns 142 and 143 for measuring the offset, recorded in the specified region of the non-servo area 205, are thus reproduced by the method described above. A method of calculating an offset value (i.e., offset 26 shown in FIG. 8) that changes during the one-rotation period of the disk will be explained in detail with reference to FIG. 9.

As described above, the CPU 112 uses the servo-pattern generating unit 115, ultimately self-servo writing the servo patterns 142 and 143 for measuring the offset, on the locus (write-head locus 45) of the write head 50 that is equivalent to the data-track locus. That is, the servo patterns 142 and 143 equivalent to burst signals A and B are recorded in the specified region of the non-servo area 205, which lies outside the servo area 200 provided on the disk 103. In FIG. 9, reference number 500 denotes the position that the read head 30 and write head 50 assume when they perform self-servo writing.

Next, the CPU 112 moves the read head 30 by an offset distance OFa calculated beforehand, adjusting the position of the read head 30 with respect to the read-head locus 51, or aligning the read head 30 at the locus 51. Thus moved, the read head 30 reads the servo patterns 142 and 143 for measuring the offset. The CPU 112 causes the HDC 111 to acquire the position-error data about the read head 30, in accordance with the servo patterns 142 and 143 for measuring the offset. The CPU 112 therefore directly monitors the offset value between the read head 30 and the write head 50 during the one-rotation period DT.

The CPU 112 controls the position of the read head 30 so that the components of the reproduced signal, which correspond to the servo-burst signals A and B, may have the same amplitude. At this point, as shown in FIG. 9, the read head 30 and the write had 50 lie right above the right-head locus 46 and the write-head locus 45, respectively.

Then, the read head 30 is set off by about half (½) the recording width Mww of the write head 50 (by offset value 61 from the read-head locus 63). In this state, the write head 50 writes a burst signal 143 by means of self-servo writing, in synchronism with the servo data in the servo area 200, at a position adjusted to the write-head locus 65.

The read head 30 is further set off by about half (½) the recording width Mww of the write head 50 (by offset value 60 from read-head locus 62), writing a burst signal 142 in the non-servo area 205. In this state, the write head 50 writes the burst signal 142 by means of self-servo writing, in synchronism with the servo data in the servo area 200, at a position adjusted to the write-head locus 64.

The CPU 112 sets off the read head 30 by a prescribed distance, i.e., offset OFa. The CPU 112 then reproduces the burst signals 142 and 143, both having been self-servo written, at the timing represented by the servo data recorded in the servo area 200. The CPU 112 calculates position-error data OFe(s) from the burst signals 142 and 143. Note that “(s)” is the value by which the offset value changes during the one-rotation period. The position-error data OFe(s) is equal to the offset error. Note that the offset OFa is a specific value (a specific distance) obtained from the position the read head 30 takes on the radius of the disk 103. The CPU 112 calculates the offset value OF(s), using the following equation:

OF(s)=OFa+OFe(s)

FIG. 10 is a diagram explaining a first modification of the method of calculating, in the embodiment, an offset value that changes during the one-rotation period.

In the first modified method, too, the servo patterns for measuring the offset are written from the burst signals 142 and 143, in the non-servo area 205 by means of self-servo writing, in the same manner as in the embodiment shown in FIG. 9.

In the first modified method, the read head 30 is controlled in position by using the offset value OFb(s) changing during the one-rotation period, in order to acquire the position-error data OFe(s) from the burst signals 142 and 143 that have been self-servo written. That is, the CPU 112 adjusts the position of the read head 30 on a read-head locus 72 indicated by a broken line in FIG. 10. The CPU 112 calculates the offset OF(s) from the burst signals 142 and 143 read by the read head 30. In this case, the offset OF(s) that changes during the one-rotation period is calculated using the following equation:

OF(s)=OFb(s)+OFe(s)

FIG. 11 is a diagram explaining a second modification of the method of calculating an offset value that changes while the disk is rotating 360° in the embodiment described above.

In the second modified method, the CPU 112 adjusts the position of the read head 30 so that the components of the reproduced signal, which correspond to the servo-burst signals A and B, may have the same amplitude. More precisely, the CPU 112 adjusts the position of the read head 30 on the read-head locus 90 indicated by the broken line as shown in FIG. 11.

At this point, the CPU 112 uses the position change PO(s), i.e., difference between a locus 84 and a locus 90, setting the read head 30 to about half (½) the recording width Mww of the write head 50 (by offset value 61 from read-head locus 86). Then, the CPU 112 causes the write head 50, which is now on a write-head locus 89, to write the burst signal 143 by means of self-servo writing. Similarly, the CPU 112 sets off the read head 30 by the same value as described above (by offset value 60 from the read-head locus 85), and causes the write head 50, which is now on a write-head locus 88, to perform self-servo writing, thus writing the burst signal 142.

Next, the CPU 112 sets off the read head 30 with respect to the read-head locus 90 by a prescribed offset OFc (prescribed distance). The CPU 112 obtains the position-error data OFe(s) from the burst signals 142 and 143 that the read head 30 have read. In this case, the offset OF(s) between the read head 30 and the write head 50, which changes during the one-rotation period, is calculated, using the following equation:

OF(s)=PO(s)+OFc(s)+OFe(s)

(Recording Areas of Servo Patterns for Measuring the Offset)

FIG. 3 and FIG. 4 are diagrams explaining recording areas in which to record the servo patterns 142 and 143 for measuring an offset in the embodiment.

In this embodiment, the recording areas for the servo patterns 142 and 143 are, respectively, the outermost track of the disk 103 and the innermost track of the disk 103, as illustrated in FIG. 3 and FIG. 4. In other words, they are one-track areas 202 and 203, in and from which no user data is recorded and reproduced. Alternatively, the recording areas for the servo patterns 142 and 143 may be two outermost one-track areas 202 and 203 or two innermost one-track areas 202 and 203. The latter alternative case is preferable.

The offset value OF(s) between the read head 30 and the write head 50 is measured by using the burst signals 142 and 143 read from the innermost one-track area 202 and the outermost one-track area 203, respectively. In this case, the offset value in the data area 201 is offset value OF2(s) that has been corrected through theoretical calculation based on the sizes of the mechanism-system components. To calculate the offset value OF2(s), the offset acquired at the innermost track or the outermost track is used. Alternatively, both offsets acquired at the innermost and outermost tracks may be used to calculate the offset value OF2(s).

FIG. 5 and FIG. 6 are diagrams explaining modified recording areas in which to record the servo patterns 142 and 143 for measuring the offset in the embodiment. In the modification, recording areas 300 for recording the servo patterns 142 and 143 are provided, each between a servo area 200 and a data area 201 as shown in FIG. 5 as is illustrated in FIG. 5 and FIG. 6. No user data is recorded in, or reproduced from, the recording areas 300.

As has been described, the present embodiment can directly calculate the offset between the read head and the write head, which changes during the one-rotation period of the disk. Therefore, the offset value that changes during the one-rotation period can be accurately calculated within a short time. This is useful in actual practice, and does not impair the data-access ability of the disk drive 100 that performs DOC. Further, it suffices to provide, for example, only about two tracks on the disk 103, as specified regions in which to record the servo patterns for measuring the offset (i.e., offset-measuring position data). Therefore, the track density will not decrease.

(Method of Updating the Offset Value)

As described above, the disk drive according to the present embodiment has a function of calculating the offset value OF(s) that changes during the one-rotation period of the disk 103, from the offset-measuring position data recorded in the disk 103. The offset value OF(s) is the sum of the first offset value OFa, called “first offset value” for convenience, and the position-error data OFe(s). The offset value OF(s) shall be called “second offset value,” for convenience. The first offset value OFa is a constant value that depends on the position the head takes on the radius of the disk 103. The position-error data OFe(s) is a value calculated from the burst signals 142 and 143 that constitute the offset-measuring position data.

The second offset value OF(s) results from the disk runout. In the disk drive 100, the CPU 112 stores the second offset value OF(s) calculated, into the memory 113, and performs DOC in order to accomplish head-positioning control. The second offset value OF(s) need not be updated if the disk runout does not change.

As in most disk drives, the disk 103 is pressed onto the SPM 106 by a member known as a disk clamper. An impact or vibration greater than the clamping force of the disk clamper may be applied to the disk 103. If this happens, the disk 103 will be moved, resulting in a disk runout, or a disk shift. Once a disk shift has occurred, the second offset value OF(s) must be updated.

A method of updating an offset value OF(s) in the present embodiment will be explained with reference to the flowchart of FIG. 12.

During the manufacture of the disk drive 100, the CPU 112 uses the equation of using the above-given equation of OF(s)=OFa+OFe(s), calculating an offset value OF(s) for the first time. That is, the CPU 112 causes the VCM driver 107B to drive the actuator 102. As the actuator 102 is driven, the read head 30 seeks the serve track (locus 46) provided in the outermost one-track area 203 (i.e., offset-measuring position) of the disk 103 as is illustrated in FIG. 9 (Block B1). The CPU 112 causes the write head 50, now positioned at the write-head locus 45, to write burst signals (servo patterns) 142 and 143 in the non-servo area 205 of the disk 103 (Block B2). Recall that the burst signals 142 and 143 constitute the offset-measuring position data.

Next, the CPU 112 uses the first offset value OFa, performing an offset control on the read head 30. That is, the CPU 112 causes the VCM driver 107B to drive the actuator 102, moving the read head 30 to the non-servo area 205 of the disk 103 (Block B3). The CPU 112 causes the read head 30 to read the burst signals 142 and 143 from the disk 10, thus reproducing the offset-measuring position data (Block B4). The CPU 112 then calculates position-error OFe(s) from the burst signals 142 and 143 and adds the OFe(s) to the first offset value OFa, providing an offset value OF(s) that changes during the one-rotation period of the disk 103 (Block B5). The CPU 112 stores the offset value OF(s) into the memory 113. The offset value OF(s) stored in the memory 113 will be used in the DOC to perform a head-positioning control during the read/write operation.

If an accelerometer, for example, detects an impact or vibration externally applied to the disk drive 100, the CPU 112 updates the offset value OF(s). Alternatively, the offset value OF(s) may be updated when the head 101 is moved from the standby position to the target position over the disk 103 at the time of, for example, activating the disk drive 100, before starting a read/write operation.

The CPU 112 causes the read head 30 to seek the servo track (locus 46) provided in the provided in the outermost one-track area 203 (Block B6), as is illustrated in FIG. 9. The CPU 112 acquires the offset value OF(s) calculated last, from the memory 113. Using this offset value OF(s), the CPU 112 performs the DOC, adjusting the position of the read head 30 to the non-servo area 205 (Block B7). The CPU 112 causes the read head 30 to read the burst signals 142 and 143 (i.e., the offset-measuring position data) from the disk 10, thus reproducing the offset-measuring position data (Block B8). The CPU 112 then obtains the calculated position-error data Pe(s) (Block B9).

The CPU 112 compares the calculated position-error data Pe(s) with a preset threshold value C, thereby determining whether a disk shift has occurred after the recording of the last offset-measuring position data (i.e., burst signals 142 and 143) (Block B10). Note that the threshold value C is the upper limit of the range of tolerant head-position error.

If the position-error data Pe(s) calculated is smaller than the threshold value C, or is almost 0 (zero), far smaller than the value C (if NO in Block B10), the CPU 112 determines that no disk shift has taken place (Block B12). In this case, no disk runout has occurred, and the read head 30 moves over the locus 45 shown in FIG. 9. Hence, the read head 30 reads the server burst patterns 142 and 143, and the position-error data Pe(s) calculated becomes almost zero, far smaller than the threshold value C. Therefore, the offset value OF(s), if calculated, remains unchanged if calculated again, and need not be updated at all. Thus, the offset value OF(s) last calculated is maintained (Block B13).

On the other hand, if a disk shift may occur after the recording of the last offset-measuring position data. In this case, the read head 30 does not move over the track locus 45. The read head 30 therefore reads the servo patterns 142 and 143. The position-error data Pe(s) exceeds the threshold value C. The CPU 112 therefore determines that a disk shift has taken place and calculates the offset value OF(s) again by the above-described method (Block B11). Hence, the position-error data Pe(s) exceeds the threshold value C, indicating that a position error has been made. The CPU 112 therefore determines that a disk shift has taken place. Then, the CPU 112 performs the above-mentioned sequence of steps, calculating the offset value OF(s) again (Block B11). The CPU 112 stores the offset value OF(s) calculated anew, in the memory 113. The offset value OF(s) is thus updated.

In the present embodiment, the position data (i.e., burst signals 142 and 143) remain unchanged and stored in the outermost one-track area 202 and innermost one-track area 203 (see FIGS. 3 and 4), respectively, until the offset value is updated completely.

As has been described, the offset value OF(s) is not updated if no disk shift has occurred after it has been calculated during the manufacture of the disk drive 100. If the position error of the read head, resulting from the dynamic offset control (DOC), exceeds a preset threshold value, a disk shift is detected to have occurred. In this case, the offset-measuring position data (i.e., servo burst patterns 142 and 143) is recorded again, and a new offset value OF(s) is calculated by performing a sequence of steps, thereby updating the offset value stored in the memory 113.

In the method according to this embodiment, whether a disk shift has occurred can be determined at high precision, not influenced by temperature and the like, within a short time equivalent to a one-rotation period of the disk. In addition, the time required to update offset value can be shorted. This is because the offset value need not be updated if no disk shifts have occurred.

While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions. 

1. A disk drive comprising: a disk comprising a servo region configured to store servo data; a magnetic head comprising a write head and a read head configured to maintain a distance of a prescribed offset, the write head configured to write data in the disk, and the read head configured to read data from the disk; a head-position controller configured to position the magnetic head at a target position over the disk, in accordance with the servo data read by the read head; an offset calculator configured to write offset-measuring position data for measuring an offset value between the read head and the write head, on a locus of the write head corresponding to a locus of a data track in a predetermined region of the disk other than the servo area, and configured to calculate the offset value from the offset-measuring position data read by the read head; a controller configured to store the offset value calculated by the offset calculator and to control an offset dynamically using the offset value; a determination module configured to determine whether a disk shift has occurred after the offset calculator calculated the offset value; and an updating module configured to update the offset value when the determination module determines that a disk shift has occurred.
 2. The disk drive of claim 1, wherein the offset-measuring position data comprise burst signals corresponding to servo-burst signals in the servo data; and the offset calculator is configured to adjust the position of the read head by a distance equivalent to the prescribed offset, to calculate the position error of the read head as an offset error from the offset-measuring position data read by the read head, and to add the prescribed offset to the offset error thereby calculating the offset value.
 3. The disk drive of claim 1, wherein the offset-measuring position data comprise burst signals corresponding to servo-burst signals in the servo data; and the offset calculator is configured to adjust the position of the read head by a distance corresponding to a change of the offset value during a one-rotation period of the disk, to calculate the position error of the read head as an offset error from the offset-measuring position data read by the read head, and to add the prescribed offset to the offset error thereby calculating the offset value.
 4. The disk drive of claim 1, wherein the offset-measuring position data comprise burst signals corresponding to servo-burst signals in the servo data; and the offset calculator is configured to use a position change of the read head while the write head is writing the offset-measuring position data during a one-rotation period of the disk, to adjust the position of the read head by the prescribed offset to a locus of the write head while the write head is writing the offset-measuring position data, to calculate the position error of the read head as an offset error from the offset-measuring position data read by the read head, and to add the position change of the write head, the prescribed offset and the offset error, thereby calculating the offset value.
 5. The disk drive of claim 1, wherein the determination module is configured to use the offset value stored in the memory, to cause the controller to dynamically control the offset of the read head, and to determine whether a disk shift has occurred from the position error calculated from the read out offset-measuring position data.
 6. The disk drive of claim 1, wherein the determination module is configured to determine that no disk shift has occurred when the position error in the offset-measuring position data is smaller than a preset threshold value, and to determine that a disk shift has occurred when the position error exceeds the threshold value.
 7. The disk drive of claim 1, wherein the determination module and the updating module are configured to start operating after the magnetic head is moved from a standby position to any position over the disk and before data is either recorded in from the disk or reproduced from the disk.
 8. The disk drive of claim 1, wherein the determination module and the updating module are configured to start operating when the disk drive is detected to be subjected to impact or vibration.
 9. An offset calculating method of a disk drive that comprises a disk comprising a servo region configured to store servo data and a magnetic head comprising a write head and a read head configured to maintain a distance of a prescribed offset, the write head configured to write data in the disk, and the read head configured to read data from the disk, the method comprising: positioning the magnetic head in accordance with the servo data read by the read head and writing offset-measuring position data for measuring an offset value between the read head and the write head, on a locus of the write head corresponding to a locus of a data track in a predetermined region of the disk other than the servo area; calculating the offset value from the offset-measuring position data read by the read head; storing the offset value in a memory; controlling an offset dynamically using the offset value stored in the memory; determining whether a disk shift has occurred after the calculation of the offset value; and updating the offset value when a disk shift has occurred.
 10. The method of claim 9, further comprising: reading the offset-measuring position data using the offset value stored in the memory by the dynamically offset controlled read head; and determining whether the disk shift has occurred from a position error calculated from the offset-measuring position data.
 11. The method of claim 9, further comprising: determining that no disk shift has occurred when a position error calculated from the offset-measuring position data is smaller than a preset threshold value; and determining that a disk shift has occurred when the position error exceeds the preset threshold value.
 12. The method of claim 9, wherein the determining whether a disk shift has occurred and the updating the offset value occur after the magnetic head is moved from a standby position to any position over the disk and before data is either recorded in the disk, or reproduced from the disk.
 13. The method of claim 9, wherein the determining whether a disk shift has occurred and the updating the offset value are configured to start when the disk drive is detected to be subjected to impact or vibration. 